package zengqiang.day02

//kotlin没有switch语句
//简单when表达式是switch语句
//复杂when表达式是if语句
fun main(args: Array<String>) {
    var age:Int=14
    println(checkAge(age))
    println(checkAge1(8))
    checkAge2(age)
}

/**
 * 该种写法也可以，kotlin是表达式语法
 * 所以可以直接返回，默认返回的是{}的最后一行，
 * 如果最后一行不是符合返回类型的值，则报错
 * 例如else中println如果在最后一行则不符合要求
 */
fun checkAge3(age:Int):String {
    return when{
        age==12-> "少年"
        age in 1..10->  "同年"
        else->{
            println("不符合")
            "不符合"
        }
    }
}



/**
 * 不带参数的when表达式
 */
fun checkAge2(age:Int):String {
    when{
        age==12->return "少年"
        age in 1..10-> return "同年"
        else->return "不符合"
    }
}


fun checkAge1(age:Int):String {
    when(age){
        1,2,3,4->return "儿童"
        in 5..10-> return "少年"
        else-> return "不符合"
    }
}

fun checkAge(age:Int):String {
    when(age){
        7->{
            return "儿童"
        }
        14->{
            return "少年"
        }
        else->{
            return "不合规"
        }
    }
}
